<?php 
/**
 * 制作回调函数
 */
	function demo($a, $b){
		for($i=0; $i<$a; $i++){
			if(call_user_func_array($b, array($i))){
				continue;
			}
			echo $i."<br/>";
		}
	}
	class filter{
		/**
		 * [one description]
		 * @param  [type] $i [description]
		 * @return [type]    [description]
		 */
		function one($i){
			if($i%3==0){
				return true;
			}else{
				return false;
			}
		}
		/**
		 * [two description]
		 * @param  [type] $i [description]
		 * @return [type]    [description]
		 */
		static function two($i){
			if(preg_match('/3/', $i)){
				return true;
			}else{
				return false;
			}
		}
	}
	function test($a){
		if($a==strrev($a)){
			return true;
		}else{
			return false;
		}
	}

	//函数直接调用
	demo(100, "smarty_test");
	echo "<hr>";

	//调用数组，利用类进行调用
	demo(100, array(new filter(), "one"));
	echo "<hr>";
	
	//调用静态数组，利用类进行调用
	demo(100, array("filter", "two"));



 ?>